Enterprise applications typically use database-level data definitions and access facilities for maintaining long-term, transactional and reference business data records. These definitions include database table and column definitions for stored data. In addition to long-term data, enterprise applications usually need to store and access transient data that have a limited life cycle. For example, an application performing a certain task may need to perform some intermediate calculations and then use the calculation results later in the task.
Existing programming techniques allow a programmer to define transient data for an application by creating local variables. A local variable stores some value while the application is running. Once the application stops running, the value stored in the local variable is discarded. For example, in a user interface (UI) based application, transient data is stored in a local variable during a user session and is discarded when the user session ends.
A business operation utilizing transient data may be lengthy and span multiple user sessions. One approach for achieving persistence of transient data involves creating table and column level schema definitions for all required intermediate data elements. However, this approach greatly expands the number of required tables and columns, and creates significant difficulties when business processes and algorithms used to solve business requirements need to be modified.